package com.pi.base.entity.auto;

import java.util.ArrayList;
import java.util.List;

public class DevInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DevInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andDevIdIsNull() {
            addCriterion("dev_id is null");
            return (Criteria) this;
        }

        public Criteria andDevIdIsNotNull() {
            addCriterion("dev_id is not null");
            return (Criteria) this;
        }

        public Criteria andDevIdEqualTo(Long value) {
            addCriterion("dev_id =", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdNotEqualTo(Long value) {
            addCriterion("dev_id <>", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdGreaterThan(Long value) {
            addCriterion("dev_id >", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dev_id >=", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdLessThan(Long value) {
            addCriterion("dev_id <", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdLessThanOrEqualTo(Long value) {
            addCriterion("dev_id <=", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdIn(List<Long> values) {
            addCriterion("dev_id in", values, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdNotIn(List<Long> values) {
            addCriterion("dev_id not in", values, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdBetween(Long value1, Long value2) {
            addCriterion("dev_id between", value1, value2, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdNotBetween(Long value1, Long value2) {
            addCriterion("dev_id not between", value1, value2, "devId");
            return (Criteria) this;
        }

        public Criteria andQrCodeIsNull() {
            addCriterion("qr_code is null");
            return (Criteria) this;
        }

        public Criteria andQrCodeIsNotNull() {
            addCriterion("qr_code is not null");
            return (Criteria) this;
        }

        public Criteria andQrCodeEqualTo(String value) {
            addCriterion("qr_code =", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeNotEqualTo(String value) {
            addCriterion("qr_code <>", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeGreaterThan(String value) {
            addCriterion("qr_code >", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeGreaterThanOrEqualTo(String value) {
            addCriterion("qr_code >=", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeLessThan(String value) {
            addCriterion("qr_code <", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeLessThanOrEqualTo(String value) {
            addCriterion("qr_code <=", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeLike(String value) {
            addCriterion("qr_code like", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeNotLike(String value) {
            addCriterion("qr_code not like", value, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeIn(List<String> values) {
            addCriterion("qr_code in", values, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeNotIn(List<String> values) {
            addCriterion("qr_code not in", values, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeBetween(String value1, String value2) {
            addCriterion("qr_code between", value1, value2, "qrCode");
            return (Criteria) this;
        }

        public Criteria andQrCodeNotBetween(String value1, String value2) {
            addCriterion("qr_code not between", value1, value2, "qrCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeIsNull() {
            addCriterion("dev_code is null");
            return (Criteria) this;
        }

        public Criteria andDevCodeIsNotNull() {
            addCriterion("dev_code is not null");
            return (Criteria) this;
        }

        public Criteria andDevCodeEqualTo(String value) {
            addCriterion("dev_code =", value, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeNotEqualTo(String value) {
            addCriterion("dev_code <>", value, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeGreaterThan(String value) {
            addCriterion("dev_code >", value, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeGreaterThanOrEqualTo(String value) {
            addCriterion("dev_code >=", value, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeLessThan(String value) {
            addCriterion("dev_code <", value, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeLessThanOrEqualTo(String value) {
            addCriterion("dev_code <=", value, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeLike(String value) {
            addCriterion("dev_code like", value, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeNotLike(String value) {
            addCriterion("dev_code not like", value, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeIn(List<String> values) {
            addCriterion("dev_code in", values, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeNotIn(List<String> values) {
            addCriterion("dev_code not in", values, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeBetween(String value1, String value2) {
            addCriterion("dev_code between", value1, value2, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevCodeNotBetween(String value1, String value2) {
            addCriterion("dev_code not between", value1, value2, "devCode");
            return (Criteria) this;
        }

        public Criteria andDevMacIsNull() {
            addCriterion("dev_mac is null");
            return (Criteria) this;
        }

        public Criteria andDevMacIsNotNull() {
            addCriterion("dev_mac is not null");
            return (Criteria) this;
        }

        public Criteria andDevMacEqualTo(String value) {
            addCriterion("dev_mac =", value, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacNotEqualTo(String value) {
            addCriterion("dev_mac <>", value, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacGreaterThan(String value) {
            addCriterion("dev_mac >", value, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacGreaterThanOrEqualTo(String value) {
            addCriterion("dev_mac >=", value, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacLessThan(String value) {
            addCriterion("dev_mac <", value, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacLessThanOrEqualTo(String value) {
            addCriterion("dev_mac <=", value, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacLike(String value) {
            addCriterion("dev_mac like", value, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacNotLike(String value) {
            addCriterion("dev_mac not like", value, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacIn(List<String> values) {
            addCriterion("dev_mac in", values, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacNotIn(List<String> values) {
            addCriterion("dev_mac not in", values, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacBetween(String value1, String value2) {
            addCriterion("dev_mac between", value1, value2, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevMacNotBetween(String value1, String value2) {
            addCriterion("dev_mac not between", value1, value2, "devMac");
            return (Criteria) this;
        }

        public Criteria andDevNameIsNull() {
            addCriterion("dev_name is null");
            return (Criteria) this;
        }

        public Criteria andDevNameIsNotNull() {
            addCriterion("dev_name is not null");
            return (Criteria) this;
        }

        public Criteria andDevNameEqualTo(String value) {
            addCriterion("dev_name =", value, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameNotEqualTo(String value) {
            addCriterion("dev_name <>", value, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameGreaterThan(String value) {
            addCriterion("dev_name >", value, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameGreaterThanOrEqualTo(String value) {
            addCriterion("dev_name >=", value, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameLessThan(String value) {
            addCriterion("dev_name <", value, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameLessThanOrEqualTo(String value) {
            addCriterion("dev_name <=", value, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameLike(String value) {
            addCriterion("dev_name like", value, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameNotLike(String value) {
            addCriterion("dev_name not like", value, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameIn(List<String> values) {
            addCriterion("dev_name in", values, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameNotIn(List<String> values) {
            addCriterion("dev_name not in", values, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameBetween(String value1, String value2) {
            addCriterion("dev_name between", value1, value2, "devName");
            return (Criteria) this;
        }

        public Criteria andDevNameNotBetween(String value1, String value2) {
            addCriterion("dev_name not between", value1, value2, "devName");
            return (Criteria) this;
        }

        public Criteria andDevTypeIsNull() {
            addCriterion("dev_type is null");
            return (Criteria) this;
        }

        public Criteria andDevTypeIsNotNull() {
            addCriterion("dev_type is not null");
            return (Criteria) this;
        }

        public Criteria andDevTypeEqualTo(Integer value) {
            addCriterion("dev_type =", value, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeNotEqualTo(Integer value) {
            addCriterion("dev_type <>", value, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeGreaterThan(Integer value) {
            addCriterion("dev_type >", value, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("dev_type >=", value, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeLessThan(Integer value) {
            addCriterion("dev_type <", value, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeLessThanOrEqualTo(Integer value) {
            addCriterion("dev_type <=", value, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeIn(List<Integer> values) {
            addCriterion("dev_type in", values, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeNotIn(List<Integer> values) {
            addCriterion("dev_type not in", values, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeBetween(Integer value1, Integer value2) {
            addCriterion("dev_type between", value1, value2, "devType");
            return (Criteria) this;
        }

        public Criteria andDevTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("dev_type not between", value1, value2, "devType");
            return (Criteria) this;
        }

        public Criteria andRentTypeIsNull() {
            addCriterion("rent_type is null");
            return (Criteria) this;
        }

        public Criteria andRentTypeIsNotNull() {
            addCriterion("rent_type is not null");
            return (Criteria) this;
        }

        public Criteria andRentTypeEqualTo(Integer value) {
            addCriterion("rent_type =", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeNotEqualTo(Integer value) {
            addCriterion("rent_type <>", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeGreaterThan(Integer value) {
            addCriterion("rent_type >", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("rent_type >=", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeLessThan(Integer value) {
            addCriterion("rent_type <", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeLessThanOrEqualTo(Integer value) {
            addCriterion("rent_type <=", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeIn(List<Integer> values) {
            addCriterion("rent_type in", values, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeNotIn(List<Integer> values) {
            addCriterion("rent_type not in", values, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeBetween(Integer value1, Integer value2) {
            addCriterion("rent_type between", value1, value2, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("rent_type not between", value1, value2, "rentType");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdIsNull() {
            addCriterion("product_type_id is null");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdIsNotNull() {
            addCriterion("product_type_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdEqualTo(Integer value) {
            addCriterion("product_type_id =", value, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdNotEqualTo(Integer value) {
            addCriterion("product_type_id <>", value, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdGreaterThan(Integer value) {
            addCriterion("product_type_id >", value, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("product_type_id >=", value, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdLessThan(Integer value) {
            addCriterion("product_type_id <", value, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("product_type_id <=", value, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdIn(List<Integer> values) {
            addCriterion("product_type_id in", values, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdNotIn(List<Integer> values) {
            addCriterion("product_type_id not in", values, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("product_type_id between", value1, value2, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("product_type_id not between", value1, value2, "productTypeId");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNull() {
            addCriterion("product_id is null");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNotNull() {
            addCriterion("product_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductIdEqualTo(String value) {
            addCriterion("product_id =", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotEqualTo(String value) {
            addCriterion("product_id <>", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThan(String value) {
            addCriterion("product_id >", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThanOrEqualTo(String value) {
            addCriterion("product_id >=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThan(String value) {
            addCriterion("product_id <", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThanOrEqualTo(String value) {
            addCriterion("product_id <=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLike(String value) {
            addCriterion("product_id like", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotLike(String value) {
            addCriterion("product_id not like", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdIn(List<String> values) {
            addCriterion("product_id in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotIn(List<String> values) {
            addCriterion("product_id not in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdBetween(String value1, String value2) {
            addCriterion("product_id between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotBetween(String value1, String value2) {
            addCriterion("product_id not between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("longitude is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("longitude is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(String value) {
            addCriterion("longitude =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(String value) {
            addCriterion("longitude <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(String value) {
            addCriterion("longitude >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("longitude >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(String value) {
            addCriterion("longitude <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(String value) {
            addCriterion("longitude <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLike(String value) {
            addCriterion("longitude like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotLike(String value) {
            addCriterion("longitude not like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<String> values) {
            addCriterion("longitude in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<String> values) {
            addCriterion("longitude not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(String value1, String value2) {
            addCriterion("longitude between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(String value1, String value2) {
            addCriterion("longitude not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeIsNull() {
            addCriterion("altitude is null");
            return (Criteria) this;
        }

        public Criteria andAltitudeIsNotNull() {
            addCriterion("altitude is not null");
            return (Criteria) this;
        }

        public Criteria andAltitudeEqualTo(String value) {
            addCriterion("altitude =", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeNotEqualTo(String value) {
            addCriterion("altitude <>", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeGreaterThan(String value) {
            addCriterion("altitude >", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeGreaterThanOrEqualTo(String value) {
            addCriterion("altitude >=", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeLessThan(String value) {
            addCriterion("altitude <", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeLessThanOrEqualTo(String value) {
            addCriterion("altitude <=", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeLike(String value) {
            addCriterion("altitude like", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeNotLike(String value) {
            addCriterion("altitude not like", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeIn(List<String> values) {
            addCriterion("altitude in", values, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeNotIn(List<String> values) {
            addCriterion("altitude not in", values, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeBetween(String value1, String value2) {
            addCriterion("altitude between", value1, value2, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeNotBetween(String value1, String value2) {
            addCriterion("altitude not between", value1, value2, "altitude");
            return (Criteria) this;
        }

        public Criteria andDevAddrIsNull() {
            addCriterion("dev_addr is null");
            return (Criteria) this;
        }

        public Criteria andDevAddrIsNotNull() {
            addCriterion("dev_addr is not null");
            return (Criteria) this;
        }

        public Criteria andDevAddrEqualTo(String value) {
            addCriterion("dev_addr =", value, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrNotEqualTo(String value) {
            addCriterion("dev_addr <>", value, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrGreaterThan(String value) {
            addCriterion("dev_addr >", value, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrGreaterThanOrEqualTo(String value) {
            addCriterion("dev_addr >=", value, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrLessThan(String value) {
            addCriterion("dev_addr <", value, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrLessThanOrEqualTo(String value) {
            addCriterion("dev_addr <=", value, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrLike(String value) {
            addCriterion("dev_addr like", value, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrNotLike(String value) {
            addCriterion("dev_addr not like", value, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrIn(List<String> values) {
            addCriterion("dev_addr in", values, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrNotIn(List<String> values) {
            addCriterion("dev_addr not in", values, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrBetween(String value1, String value2) {
            addCriterion("dev_addr between", value1, value2, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevAddrNotBetween(String value1, String value2) {
            addCriterion("dev_addr not between", value1, value2, "devAddr");
            return (Criteria) this;
        }

        public Criteria andDevStateIsNull() {
            addCriterion("dev_state is null");
            return (Criteria) this;
        }

        public Criteria andDevStateIsNotNull() {
            addCriterion("dev_state is not null");
            return (Criteria) this;
        }

        public Criteria andDevStateEqualTo(Integer value) {
            addCriterion("dev_state =", value, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateNotEqualTo(Integer value) {
            addCriterion("dev_state <>", value, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateGreaterThan(Integer value) {
            addCriterion("dev_state >", value, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("dev_state >=", value, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateLessThan(Integer value) {
            addCriterion("dev_state <", value, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateLessThanOrEqualTo(Integer value) {
            addCriterion("dev_state <=", value, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateIn(List<Integer> values) {
            addCriterion("dev_state in", values, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateNotIn(List<Integer> values) {
            addCriterion("dev_state not in", values, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateBetween(Integer value1, Integer value2) {
            addCriterion("dev_state between", value1, value2, "devState");
            return (Criteria) this;
        }

        public Criteria andDevStateNotBetween(Integer value1, Integer value2) {
            addCriterion("dev_state not between", value1, value2, "devState");
            return (Criteria) this;
        }

        public Criteria andAddDateIsNull() {
            addCriterion("add_date is null");
            return (Criteria) this;
        }

        public Criteria andAddDateIsNotNull() {
            addCriterion("add_date is not null");
            return (Criteria) this;
        }

        public Criteria andAddDateEqualTo(String value) {
            addCriterion("add_date =", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateNotEqualTo(String value) {
            addCriterion("add_date <>", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateGreaterThan(String value) {
            addCriterion("add_date >", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateGreaterThanOrEqualTo(String value) {
            addCriterion("add_date >=", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateLessThan(String value) {
            addCriterion("add_date <", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateLessThanOrEqualTo(String value) {
            addCriterion("add_date <=", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateLike(String value) {
            addCriterion("add_date like", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateNotLike(String value) {
            addCriterion("add_date not like", value, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateIn(List<String> values) {
            addCriterion("add_date in", values, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateNotIn(List<String> values) {
            addCriterion("add_date not in", values, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateBetween(String value1, String value2) {
            addCriterion("add_date between", value1, value2, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddDateNotBetween(String value1, String value2) {
            addCriterion("add_date not between", value1, value2, "addDate");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNull() {
            addCriterion("add_user is null");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNotNull() {
            addCriterion("add_user is not null");
            return (Criteria) this;
        }

        public Criteria andAddUserEqualTo(String value) {
            addCriterion("add_user =", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotEqualTo(String value) {
            addCriterion("add_user <>", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThan(String value) {
            addCriterion("add_user >", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("add_user >=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThan(String value) {
            addCriterion("add_user <", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThanOrEqualTo(String value) {
            addCriterion("add_user <=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLike(String value) {
            addCriterion("add_user like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotLike(String value) {
            addCriterion("add_user not like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserIn(List<String> values) {
            addCriterion("add_user in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotIn(List<String> values) {
            addCriterion("add_user not in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserBetween(String value1, String value2) {
            addCriterion("add_user between", value1, value2, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotBetween(String value1, String value2) {
            addCriterion("add_user not between", value1, value2, "addUser");
            return (Criteria) this;
        }

        public Criteria andScrapDateIsNull() {
            addCriterion("scrap_date is null");
            return (Criteria) this;
        }

        public Criteria andScrapDateIsNotNull() {
            addCriterion("scrap_date is not null");
            return (Criteria) this;
        }

        public Criteria andScrapDateEqualTo(String value) {
            addCriterion("scrap_date =", value, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateNotEqualTo(String value) {
            addCriterion("scrap_date <>", value, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateGreaterThan(String value) {
            addCriterion("scrap_date >", value, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateGreaterThanOrEqualTo(String value) {
            addCriterion("scrap_date >=", value, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateLessThan(String value) {
            addCriterion("scrap_date <", value, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateLessThanOrEqualTo(String value) {
            addCriterion("scrap_date <=", value, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateLike(String value) {
            addCriterion("scrap_date like", value, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateNotLike(String value) {
            addCriterion("scrap_date not like", value, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateIn(List<String> values) {
            addCriterion("scrap_date in", values, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateNotIn(List<String> values) {
            addCriterion("scrap_date not in", values, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateBetween(String value1, String value2) {
            addCriterion("scrap_date between", value1, value2, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andScrapDateNotBetween(String value1, String value2) {
            addCriterion("scrap_date not between", value1, value2, "scrapDate");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1IsNull() {
            addCriterion("cnl_dev_bak1 is null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1IsNotNull() {
            addCriterion("cnl_dev_bak1 is not null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1EqualTo(String value) {
            addCriterion("cnl_dev_bak1 =", value, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1NotEqualTo(String value) {
            addCriterion("cnl_dev_bak1 <>", value, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1GreaterThan(String value) {
            addCriterion("cnl_dev_bak1 >", value, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1GreaterThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak1 >=", value, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1LessThan(String value) {
            addCriterion("cnl_dev_bak1 <", value, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1LessThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak1 <=", value, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1Like(String value) {
            addCriterion("cnl_dev_bak1 like", value, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1NotLike(String value) {
            addCriterion("cnl_dev_bak1 not like", value, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1In(List<String> values) {
            addCriterion("cnl_dev_bak1 in", values, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1NotIn(List<String> values) {
            addCriterion("cnl_dev_bak1 not in", values, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1Between(String value1, String value2) {
            addCriterion("cnl_dev_bak1 between", value1, value2, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak1NotBetween(String value1, String value2) {
            addCriterion("cnl_dev_bak1 not between", value1, value2, "cnlDevBak1");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2IsNull() {
            addCriterion("cnl_dev_bak2 is null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2IsNotNull() {
            addCriterion("cnl_dev_bak2 is not null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2EqualTo(String value) {
            addCriterion("cnl_dev_bak2 =", value, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2NotEqualTo(String value) {
            addCriterion("cnl_dev_bak2 <>", value, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2GreaterThan(String value) {
            addCriterion("cnl_dev_bak2 >", value, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2GreaterThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak2 >=", value, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2LessThan(String value) {
            addCriterion("cnl_dev_bak2 <", value, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2LessThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak2 <=", value, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2Like(String value) {
            addCriterion("cnl_dev_bak2 like", value, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2NotLike(String value) {
            addCriterion("cnl_dev_bak2 not like", value, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2In(List<String> values) {
            addCriterion("cnl_dev_bak2 in", values, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2NotIn(List<String> values) {
            addCriterion("cnl_dev_bak2 not in", values, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2Between(String value1, String value2) {
            addCriterion("cnl_dev_bak2 between", value1, value2, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak2NotBetween(String value1, String value2) {
            addCriterion("cnl_dev_bak2 not between", value1, value2, "cnlDevBak2");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3IsNull() {
            addCriterion("cnl_dev_bak3 is null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3IsNotNull() {
            addCriterion("cnl_dev_bak3 is not null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3EqualTo(String value) {
            addCriterion("cnl_dev_bak3 =", value, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3NotEqualTo(String value) {
            addCriterion("cnl_dev_bak3 <>", value, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3GreaterThan(String value) {
            addCriterion("cnl_dev_bak3 >", value, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3GreaterThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak3 >=", value, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3LessThan(String value) {
            addCriterion("cnl_dev_bak3 <", value, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3LessThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak3 <=", value, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3Like(String value) {
            addCriterion("cnl_dev_bak3 like", value, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3NotLike(String value) {
            addCriterion("cnl_dev_bak3 not like", value, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3In(List<String> values) {
            addCriterion("cnl_dev_bak3 in", values, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3NotIn(List<String> values) {
            addCriterion("cnl_dev_bak3 not in", values, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3Between(String value1, String value2) {
            addCriterion("cnl_dev_bak3 between", value1, value2, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak3NotBetween(String value1, String value2) {
            addCriterion("cnl_dev_bak3 not between", value1, value2, "cnlDevBak3");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4IsNull() {
            addCriterion("cnl_dev_bak4 is null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4IsNotNull() {
            addCriterion("cnl_dev_bak4 is not null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4EqualTo(String value) {
            addCriterion("cnl_dev_bak4 =", value, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4NotEqualTo(String value) {
            addCriterion("cnl_dev_bak4 <>", value, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4GreaterThan(String value) {
            addCriterion("cnl_dev_bak4 >", value, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4GreaterThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak4 >=", value, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4LessThan(String value) {
            addCriterion("cnl_dev_bak4 <", value, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4LessThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak4 <=", value, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4Like(String value) {
            addCriterion("cnl_dev_bak4 like", value, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4NotLike(String value) {
            addCriterion("cnl_dev_bak4 not like", value, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4In(List<String> values) {
            addCriterion("cnl_dev_bak4 in", values, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4NotIn(List<String> values) {
            addCriterion("cnl_dev_bak4 not in", values, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4Between(String value1, String value2) {
            addCriterion("cnl_dev_bak4 between", value1, value2, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak4NotBetween(String value1, String value2) {
            addCriterion("cnl_dev_bak4 not between", value1, value2, "cnlDevBak4");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5IsNull() {
            addCriterion("cnl_dev_bak5 is null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5IsNotNull() {
            addCriterion("cnl_dev_bak5 is not null");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5EqualTo(String value) {
            addCriterion("cnl_dev_bak5 =", value, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5NotEqualTo(String value) {
            addCriterion("cnl_dev_bak5 <>", value, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5GreaterThan(String value) {
            addCriterion("cnl_dev_bak5 >", value, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5GreaterThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak5 >=", value, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5LessThan(String value) {
            addCriterion("cnl_dev_bak5 <", value, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5LessThanOrEqualTo(String value) {
            addCriterion("cnl_dev_bak5 <=", value, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5Like(String value) {
            addCriterion("cnl_dev_bak5 like", value, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5NotLike(String value) {
            addCriterion("cnl_dev_bak5 not like", value, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5In(List<String> values) {
            addCriterion("cnl_dev_bak5 in", values, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5NotIn(List<String> values) {
            addCriterion("cnl_dev_bak5 not in", values, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5Between(String value1, String value2) {
            addCriterion("cnl_dev_bak5 between", value1, value2, "cnlDevBak5");
            return (Criteria) this;
        }

        public Criteria andCnlDevBak5NotBetween(String value1, String value2) {
            addCriterion("cnl_dev_bak5 not between", value1, value2, "cnlDevBak5");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}